今天我們會先在 Linux 系統上安裝 Docker。
你可能也聽過 containerd、podman、OCI、CRI,它們都是容器化技術的一分子,推薦參考 https://zhuanlan.zhihu.com/p/494054143 學習。
看到這邊要裝 Docker,有人應該會說「kubernetes 都把 dockershim 拿掉了,你確定 2023 年還要裝 Docker 嗎?直接用 containerd 不香嗎?」k8s 可以用 containerd 作為 container 的 runtime,其實 Docker 也是用 containerd 作為 container 的 runtime,底層技術其實相同,另外 Docker 建立的 image 也都是符合 OCI 標準的,containerd 或是 k8s 都可以用。
而且 Docker 網路上資源比較多,在開發期間使用 Docker 反而比較容易找到學習資源,到真的要部署至 production 環境再改用 containerd (甚至 kubernetes) 也不急。
在Linux上安裝Docker相對簡單,下面是在 Ubuntu 22.04上進行安裝的基本步驟:
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Add the repository to Apt sources:
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
# Install the latest version:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
既然都提到 containerd了,另外提一下 podman,他們都符合 OCI 標準,所以都可以使用 docker 建立的 image 來啟動 container,另外還有一些安全性、架構性 (daemonless) 的特點